Currently, in the field of networks, many researches are underway to provide an internet service without interruption even if a terminal moves to another IP network by using an ALL IP network. Among them, there is a method for ensuring packet transmission by a tunneling method by assigning a unique IPv6 address to a terminal on the move.
By using the tunneling method, the terminal on the move recognizes the IPv6 address assigned to itself as an address allowing it to reach a network all the time. Therefore, application programs of a mobile terminal perform communications by using the IPv6 address. IP address information that is changed as the terminal accesses another IP network while moving is used as transmission means for forwarding the original IPv6 packet. The original IPv6 packet used in the application programs is tunneled by using <current IP network information of the mobile terminal and current IP network information of a destination node> so that it can be correctly delivered to the destination node through the IP network where the terminal is currently located.
FIG. 1 shows the overview of a network for ensuring the mobility of a terminal in such a tunneling method. Mobile terminals 101, 105, and 106 connect to a new IP network and perform communications with destination nodes 110 and 111 as they are continuously on the move. A server 100 manages information for tunneling based on current IP network information that is changed whenever each mobile terminal moves from an area to another area. The server 100 exchanges information with the mobile terminals, a gateway and so on so that each of the mobile terminals and each of the destination nodes can communicate smoothly through a tunnel.
In FIG. 1, the gateway 109 provides the function of linking an IPv4 network and an IPv6 network. Under this circumstance, in order to provide tunneling to the mobile terminals 105 and 106 connected to an address conversion apparatus, such as an NAT apparatus 103, UDP port information, as well as IP address information, is utilized. In order to provide tunneling to the mobile terminal 101 directly connected to a public network via a router 102, only IP address information is used.
FIG. 1 shows tunnels 107 and 108 which are used for the server 100 and the mobile terminal 106 to communicate with the destination nodes 110 and 111. These tunnels are an IPv6-over-IPv4 tunnel 108 and an IPv6-over-IPv4-UDP tunnel 107.
As shown in FIG. 2, a sever or terminal 200 attempting to ensure the mobility of a terminal by using such a tunneling method creates a tunnel network interface 207 for dealing with a tunneling-related process. When an application program 201 transmits an IPv6 packet, this packet is transmitted to an IPv6 protocol stack 205 through a socket layer 202 and a TCP/UDP layer 203. The IPv6 protocol stack 205 retrieves an FIB6 211, which is a Forwarding Information Base for IPv6, to determine which network interface a packet currently requested to be transmitted is to be transmitted through. At this time, the FIB6 is established so that a packet using tunneling can be transmitted through a tunnel network interface. Hence, the packet requested to be transmitted is forwarded to the tunnel network interface 207.
The tunnel network interface 207 that has received the packet to be transmitted retrieves tunneling information in a tunnel table 213 by using, as a key value, an IPv6 address of the destination node of a packet to be currently transmitted. The tunneling information retrieved includes a local IPv4 address, a destination IPv4 address, a local UDP port number, a destination UDP port number (212, 214), and so forth. The original IPv6 packet is encapsulated with an IPv4 header and a UDP header by using the thus retrieved tunneling information, and then delivered to the other node, i.e., the destination node, through a physical network interface 206 by using an IPv4 protocol stack 204.
As above, in the method of managing tunnel information in a tunnel network interface, even if destination nodes are located within an IPv6 network (hereinafter, referred to as an IPv6 prefix network) having the same IPv6 prefix, a tunnel entry for the destination nodes must be managed by destination node.